package main

import (
	"fmt"
	"log"

	"github.com/gin-gonic/gin"

	"hrms-api/config"
	"hrms-api/middleware"
	"hrms-api/model"
	"hrms-api/router"
)

func main() {
	// 加载配置文件
	cfg, err := config.LoadConfig("config/config.yaml")
	if err != nil {
		log.Fatalf("加载配置文件失败: %v", err)
	}

	// 设置gin运行模式
	gin.SetMode(cfg.Server.Mode)

	// 初始化数据库连接
	if err := model.InitDB(cfg); err != nil {
		log.Fatalf("初始化数据库失败: %v", err)
	}

	// 创建gin引擎
	engine := gin.Default()

	// 应用CORS中间件
	engine.Use(middleware.CORS())

	// 注册路由
	router.RegisterRoutes(engine)

	// 启动服务器
	addr := fmt.Sprintf(":%d", cfg.Server.Port)
	if err := engine.Run(addr); err != nil {
		log.Fatalf("启动服务器失败: %v", err)
	}
}
